package cc.rengu.igas.bsps.facade;

import cc.rengu.igas.bsps.facade.request.*;
import cc.rengu.igas.bsps.facade.response.*;
import cc.rengu.igas.bsps.facade.result.Result;

/**
 * Created by wangcheng on 2021/6/18 14:39
 */
public interface MchntInspectService {
    /**
     * 商户巡检任务查询
     *
     * @param mchntInspectTaskQueryRequest 请求报文
     * @return 响应报文
     */
    Result<MchntInspectTaskQueryResponse> mchntInspectTaskQuery(MchntInspectTaskQueryRequest mchntInspectTaskQueryRequest);

    /**
     * 商户自助巡检
     *
     * @param mchntSelfInspectRequest 请求报文
     * @return 响应报文
     */
    Result<MchntSelfInspectResponse> mchntSelfInspect(MchntSelfInspectRequest mchntSelfInspectRequest);


    /**
     * 待巡检商户统计查询
     *
     * @param needInspectMchntStatisQueryRequest 请求报文
     * @return 响应报文
     */
    Result<NeedInspectMchntStatisQueryResponse> needInspectMchntStatisQuery(NeedInspectMchntStatisQueryRequest needInspectMchntStatisQueryRequest);

    /**
     * 巡检商户信息列表查询
     *
     * @param needInspectMchntListQueryRequest 请求报文
     * @return 响应报文
     */
    Result<NeedInspectMchntListQueryResponse> needInspectMchntListQueryS(NeedInspectMchntListQueryRequest needInspectMchntListQueryRequest);

    /**
     * 巡检采集配置信息查询
     *
     * @param inspectCollectConfigQueryRequest 请求报文
     * @return 响应报文
     */
    Result<InspectCollectConfigQueryResponse> inspectCollectConfigQuery(InspectCollectConfigQueryRequest inspectCollectConfigQueryRequest);

    /**
     * 商户巡检信息采集
     *
     * @param mchntInspectInfoCollectRequest 请求报文
     * @return 响应报文
     */
    Result<MchntInspectInfoCollectResponse> mchntInspectInfoCollect(MchntInspectInfoCollectRequest mchntInspectInfoCollectRequest);

    /**
     * 巡检待审核信息查询
     *
     * @param inspectNeedAuditMchntQueryRequest 请求报文
     * @return 响应报文
     */
    Result<InspectNeedAuditMchntQueryResponse> inspectNeedAuditMchntQuery(InspectNeedAuditMchntQueryRequest inspectNeedAuditMchntQueryRequest);

    /**
     * 商户巡检信息审核
     *
     * @param mchntInspectInfoAuditRequest 请求报文
     * @return 响应报文
     */
    Result<MchntInspectInfoAuditResponse> mchntInspectInfoAudit(MchntInspectInfoAuditRequest mchntInspectInfoAuditRequest);

}
